1. Field
Embodiments of the invention relate to identifying columns for row based operations.
2. Description of the Related Art
Relational DataBase Management System (RDBMS) software may use a Structured Query Language (SQL) interface. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO).
A RDBMS uses relational techniques for storing and retrieving data in a relational database. Relational databases are computerized information storage and retrieval systems. Relational databases are organized into tables that consist of rows and columns of data. The rows may be called tuples or records or rows. A database typically has many tables, and each table typically has multiple records and multiple columns.
Applications are able to perform operations on databases, such as inserting data or retrieving data. Modern relational databases, such as a DB2® product available from International Business Machines Corporation, offer the capability of manipulating rows based on various discrete columns within the row. However, this causes difficulty for the application that wants to perform row based operations. A row based operation may be described as an operation that formulates a database statement (e.g., a SQL statement), such that the database statement acts on a given row in a database. Row based operations include, for example, insert, update, delete or fetch operations for a given row. Thus, a row based operation may be described as an operation using SQL in an RDMBS to operate on a row. For instance, if a table has 10 columns and the application wants to perform a row based operation on rows in that table based on the third, fourth, and seventh (3rd, 4th, 7th) columns, the application needs to be able to indicate the columns to the database. From an SQL perspective, this may include specifying a “where” clause, such as “where col3=NN and col4=YY and col7=‘abc’” in a SQL statement. Some applications generate the SQL statement, but this can contaminate the application code by making the application code aware of the database and syntax for row based operations.
Thus, there is a need in the art for abstracting row based operations from an application.